home *** CD-ROM | disk | FTP | other *** search
- Unit DolrWord;
-
- Interface
-
- Uses Dos;
-
- function DollarWord(StrToConv : string) : string;
-
- implementation
-
- var
- Dollar : string[6];
- Cents : string[2];
- BuildStr : string[120];
- NumbStr : string[2];
- DollarInt : longint;
- Code : integer;
- TmpDollar : char;
-
- function DStr(StrToConv : string) : string;
- var
- I : integer;
- TmpStr : string[6];
-
- begin
- I := 1;
- TmpStr := '';
- for I := 1 to Length(StrToConv) do
- begin
- if StrToConv[I] <> ',' then
- begin
- if StrToConv[I] = '.' then
- begin
- DStr := TmpStr;
- exit;
- end
- else TmpStr := TmpStr + StrToConv[I];
- end;
- end;
- end;
-
- function CStr(StrToConv : string) : string;
- var
- I : integer;
- TmpStr : string[6];
-
- begin
- I := 0;
- TmpStr := '';
- Repeat
- I := I + 1;
- Until StrToConv[I] = '.';
- I := I + 1;
- for I := I to Length(StrToConv) do TmpStr := TmpStr + StrToConv[I];
- if Length(TmpStr) = 1 then TmpStr := TmpStr + '0';
- CStr := TmpStr;
- end;
-
- function GetSingles(Dollar : char) : string;
- begin
- Case Dollar of
- '1' : GetSingles := 'One';
- '2' : GetSingles := 'Two';
- '3' : GetSingles := 'Three';
- '4' : GetSingles := 'Four';
- '5' : GetSingles := 'Five';
- '6' : GetSingles := 'Six';
- '7' : GetSingles := 'Seven';
- '8' : GetSingles := 'Eight';
- '9' : GetSingles := 'Nine';
- else Getsingles := ''
- end;
- end;
-
- function GetTeens(Dollar : char) : string;
- begin
- Case Dollar of
- '0' : GetTeens := 'Ten';
- '1' : GetTeens := 'Eleven';
- '2' : GetTeens := 'Twelve';
- '3' : GetTeens := 'Thirteen';
- '4' : GetTeens := 'Fourteen';
- '5' : GetTeens := 'Fifteen';
- '6' : GetTeens := 'Sixteen';
- '7' : GetTeens := 'Seventeen';
- '8' : GetTeens := 'Eighteen';
- '9' : GetTeens := 'Nineteen';
- else GetTeens := ''
- end;
- end;
-
- function GetTens(Dollar : char) : string;
- begin
- Case Dollar of
- '2' : GetTens := 'Twenty';
- '3' : GetTens := 'Thirty';
- '4' : GetTens := 'Fourty';
- '5' : GetTens := 'Fifty';
- '6' : GetTens := 'Sixty';
- '7' : GetTens := 'Seventy';
- '8' : GetTens := 'Eighty';
- '9' : GetTens := 'Ninety';
- else GetTens := ''
- end;
- end;
-
- function DollarWord;
- begin
- Dollar := DStr(StrToConv);
- Cents := CStr(StrToConv);
- Val(Dollar,DollarInt,Code);
- if DollarInt = 0 then
- begin
- BuildStr := 'None ';
- BuildStr := BuildStr + ' & ' + Cents + '/100';
- DollarWord := BuildStr;
- exit;
- end;
- if (DollarInt >= 1) and (DollarInt <= 9) then
- begin
- TmpDollar := Dollar[1];
- BuildStr := GetSingles(TmpDollar);
- BuildStr := BuildStr + ' & ' + Cents + '/100';
- DollarWord := BuildStr;
- exit;
- end;
- if (DollarInt >= 10) and (DollarInt <= 19) then
- begin
- TmpDollar := Dollar[2];
- BuildStr := GetTeens(TmpDollar);
- BuildStr := BuildStr + ' & ' + Cents + '/100';
- DollarWord := BuildStr;
- exit;
- end;
- if (DollarInt >= 20) and (DollarInt <= 99) then
- begin
- TmpDollar := Dollar[1];
- BuildStr := GetTens(TmpDollar);
- If TmpDollar <> '0' then BuildStr := BuildStr + ' ';
- TmpDollar := Dollar[2];
- BuildStr := BuildStr + GetSingles(TmpDollar);
- BuildStr := BuildStr + ' & ' + Cents + '/100';
- DollarWord := BuildStr;
- exit;
- end;
- if (DollarInt >= 100) and (DollarInt <= 999) then
- begin
- TmpDollar := Dollar[1];
- BuildStr := GetSingles(TmpDollar) + ' Hundred ';
- TmpDollar := Dollar[2];
- if TmpDollar = '1' then
- begin
- TmpDollar := Dollar[3];
- BuildStr := BuildStr + GetTeens(TmpDollar);
- BuildStr := BuildStr + ' & ' + Cents + '/100';
- DollarWord := BuildStr;
- exit;
- end
- else BuildStr := BuildStr + GetTens(TmpDollar);
- If TmpDollar <> '0' then BuildStr := BuildStr + ' ';
- TmpDollar := Dollar[3];
- BuildStr := BuildStr + GetSingles(TmpDollar);
- BuildStr := BuildStr + ' & ' + Cents + '/100';
- DollarWord := BuildStr;
- exit;
- end;
- if (DollarInt >= 1000) and (DollarInt <= 9999) then
- begin
- TmpDollar := Dollar[1];
- BuildStr := GetSingles(TmpDollar) + ' Thousand ';
- TmpDollar := Dollar[2];
- BuildStr := BuildStr + GetSingles(TmpDollar) + ' Hundred ';
- TmpDollar := Dollar[3];
- if TmpDollar = '1' then
- begin
- TmpDollar := Dollar[4];
- BuildStr := BuildStr + GetTeens(TmpDollar);
- BuildStr := BuildStr + ' & ' + Cents + '/100';
- DollarWord := BuildStr;
- exit;
- end
- else BuildStr := BuildStr + GetTens(TmpDollar);
- If TmpDollar <> '0' then BuildStr := BuildStr + ' ';
- TmpDollar := Dollar[4];
- BuildStr := BuildStr + GetSingles(TmpDollar);
- BuildStr := BuildStr + ' & ' + Cents + '/100';
- DollarWord := BuildStr;
- exit;
- end;
- if (DollarInt >= 10000) and (DollarInt <= 99999) then
- begin
- TmpDollar := Dollar[1];
- if TmpDollar = '1' then BuildStr := GetTeens(TmpDollar)
- + ' Thousand '
- else
- begin
- BuildStr := GetTens(TmpDollar) + ' ';
- TmpDollar := Dollar[2];
- BuildStr := BuildStr + GetSingles(TmpDollar)
- + ' Thousand ';
- end;
- TmpDollar := Dollar[3];
- BuildStr := BuildStr + GetSingles(TmpDollar) + ' Hundred ';
- TmpDollar := Dollar[4];
- if TmpDollar = '1' then
- begin
- TmpDollar := Dollar[5];
- BuildStr := BuildStr + GetTeens(TmpDollar);
- BuildStr := BuildStr + ' & ' + Cents + '/100';
- DollarWord := BuildStr;
- exit;
- end
- else BuildStr := BuildStr + GetTens(TmpDollar);
- If TmpDollar <> '0' then BuildStr := BuildStr + ' ';
- TmpDollar := Dollar[5];
- BuildStr := BuildStr + GetSingles(TmpDollar);
- BuildStr := BuildStr + ' & ' + Cents + '/100';
- DollarWord := BuildStr;
- exit;
- end;
- if (DollarInt >= 100000) and (DollarInt <= 990999) then
- begin
- TmpDollar := Dollar[1];
- BuildStr := GetSingles(TmpDollar) + ' Hundred ';
- TmpDollar := Dollar[2];
- if TmpDollar = '1' then BuildStr := BuildStr + GetTeens(TmpDollar)
- + ' Thousand '
- else
- begin
- BuildStr := BuildStr + GetTens(TmpDollar) + ' ';
- TmpDollar := Dollar[3];
- BuildStr := BuildStr + GetSingles(TmpDollar)
- + ' Thousand ';
- end;
- TmpDollar := Dollar[4];
- BuildStr := BuildStr + GetSingles(TmpDollar) + ' Hundred ';
- TmpDollar := Dollar[5];
- if TmpDollar = '1' then
- begin
- TmpDollar := Dollar[6];
- BuildStr := BuildStr + GetTeens(TmpDollar);
- BuildStr := BuildStr + ' & ' + Cents + '/100';
- DollarWord := BuildStr;
- exit;
- end
- else BuildStr := BuildStr + GetTens(TmpDollar);
- If TmpDollar <> '0' then BuildStr := BuildStr + ' ';
- TmpDollar := Dollar[6];
- BuildStr := BuildStr + GetSingles(TmpDollar);
- BuildStr := BuildStr + ' & ' + Cents + '/100';
- DollarWord := BuildStr;
- exit;
- end;
- end;
-
- begin
- end.